home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fatted Calf
/
The Fatted Calf.iso
/
Applications
/
Graphics
/
GraphicsWrap
/
Source
/
NXBitmapGraphicRep.h
< prev
next >
Wrap
Text File
|
1991-09-17
|
3KB
|
82 lines
/* NXBitmapGraphicRep.h -- The meaty part of the front end.
*
* Written By: Bill Bumgarner (Friday Software & Consulting)
* <wb1j+@andrew.cmu.edu>
* 414 S.Craig, #119
* Pittsburgh, PA. 15213
* 412-268-5378
*
* <see NXBitmapGraphicRep.m for notes>
*/
#import <appkit/NXBitmapImageRep.h>
#import <appkit/color.h>
@interface NXBitmapGraphicRep : NXBitmapImageRep
{
long num_bytes; // number of bytes in entire image
long bytes_per_row; // bytes per single scan line
unsigned char *data; // pointer to the actual bitmap data
NXColor foreColor;
NXColor backColor;
unsigned char cur_red, cur_grn, cur_blu;
unsigned char bck_red, bck_grn, bck_blu;
unsigned char gray_level;
unsigned char bck_gray_level;
int yh; // pixelsHigh-1 -- used in the calculation of the offset
// into data to auto-flip the image.
int imageDepth;
}
// used to initialize the bitmap w/a certain size and color model with the
// background color set to c
- initWithSize:(NXSize *) aSize depth:(int) aDepth andColor:(NXColor)c;
// calls above with c=NX_COLORBLACK to force a black background
- initWithSize:(NXSize *) aSize andDepth:(int) aDepth;
// erases the current frame to aColor
- eraseFrameToColor:(NXColor) aColor;
// erases the current frame to backColor
- eraseFrame;
// plots points in the current foreColor and erases points to the current
// backColor. WATCHOUT: both these routines do some nasty bit level
// manipulation in the twelve bit and two bit modes.
- plotPoint:(long)x :(long)y;
- erasePoint:(long)x :(long)y;
/* sets the background and foreground color. In two bit and twelve
* bit mode, the color model stays in the full NXColor structure--
* only the pixels that are put on screen drop back to the lower bit model.
* NXColor structure is defined as:
* typedef struct _NXColor {
* unsigned short colorField[8];
* } NXColor;
* Because of this, this object is completely compatible with RGB,
* HSB, and CMYK color models. To appropriately set the various
* values of the structure, use the various methods defined in
* /usr/include/appkit/color.h
* (Look in digital libararian for more information */
- setColor:(NXColor) aColor;
- setBackColor:(NXColor) aColor;
/* returns the current color or current backColor of the image */
- (NXColor)color;
- (NXColor)backColor;
/* returns the current depth of the color model being used. */
- (int)imageDepth;
// ASSIGNMENT #1 line drawing routine.
- line:(int)x0 :(int)y0 :(int)x1 :(int)y1;
- cmdDraw:(int)x :(int)y;
- cmdMove:(int)x :(int)y;
- cmdCircle:(int)r;
- cmdFps:(int)f;
- cmdHold:(int)seconds;
- cmdNewframe;
- cmdDrawPoly:vertexList;
@end